<?php

namespace Alipay\AlipayAuth\Request;

use Alipay\AlipayAuth\Response\AlipayAuthISVInviteResponse;
use Alipay\Common\RequestBase;

/**
 * ISV邀约即授权页面创建
 */
class AlipayAuthISVInviteRequest extends RequestBase
{
    protected $method = 'alipay.open.invite.order.create';

    protected $response = AlipayAuthISVInviteResponse::class;

    protected $getRequestUrl = true;

    /**
     * ISV 业务系统的申请单 id。由 ISV 自定义，支付宝会将该值拼接在 isv_return_url 后返回，ISV 可据此做业务处理。
     * @var string $bizNo
     */
    private $bizNo;

    /**
     * ISV 平台的回跳地址。商户从 ISV 平台跳转至支付宝提交签约申请后，在结果页可以回跳至该页面。
     * @var
     */
    private $returnUrl;

    /**
     * 生成请求参数
     * @return array
     * @author xis
     */
    public function generate(): array
    {
        return [
            'isv_biz_id' => $this->bizNo,
            'isv_return_url' => $this->returnUrl
        ];
    }

    /**
     * @param string $bizNo
     * @return AlipayAuthISVInviteRequest
     */
    public function setBizNo(string $bizNo): self
    {
        $this->bizNo = $bizNo;
        return $this;
    }

    /**
     * @param mixed $returnUrl
     */
    public function setReturnUrl($returnUrl): self
    {
        $this->returnUrl = $returnUrl;
        return $this;
    }
}
